#include <stdio.h>

/*找出有序数组中的重复项，忽略并重新排序后输出*/
/*找到与前一个数不同的数时，就将它替换到第i次判断的位置*/
/*fast用来遍历数组，slow用来确定需要替换的数的位置*/
int removed(int* nums,int numsSize)
{
    //如果数组大小为0，则返回0
    if(numsSize==0)
    {
        return 0;
    }
    int fast=1,slow=0;
    for(;fast<numsSize;fast++)
    {
        if(nums[fast]!=nums[slow])
        {
            nums[++slow]=nums[fast];
        }
    }
   return slow+1;
}



void main()
{
    int nums[]={0,0,1,1,1,2,2,3,3,4};
    int a=removed(nums,sizeof(nums)/4);
    printf("%d\n",a);
    for(int i=0;i<a;i++)
    {
        printf("%d ",nums[i]);
    }
    printf("\n");

}